<?php

define('KOLUMNA_IMIE','imie_nazwisko');
define('KOLUMNA_ROK_URODZENIA','rok_urodzenia');
define('KOLUMNA_KSYWA','ksywa');

$elementyMenu = array (
    "listaUzytkownikow.php" => "Wyszukiwanie",
    "generacjaDanych.php" => "Generacja danych",
    "usuniecieDanych.php" => "Usunięcie danych",
    "wersja.php" => "PHP Info",
    "glowna.php" => "Strona główna",
    "generacjaDanychPut.php" => "Generacja-put",
    "listaUzytkownikowGet.php" => "Wyszukiwanie-get");

function zwrocDane() {
    $result = array(
        array(
            'pesel'=>'123123', 
            'imie_nazwisko' => "Jan Kowalski", 
            'rok_urodzenia' => 1969, 
            'ksywa' => "abcd"),
        array(
            'pesel'=>'123asdd', 
            'imie_nazwisko' => "Jan Kowalski", 
            'rok_urodzenia' => 1990, 
            'ksywa' => "asdfsdf"),
        array(
            'pesel'=>'123345',
            'imie_nazwisko' => "Józef Nowak",
            'rok_urodzenia' => 1987, 
            'ksywa' => "nowakowki"),
    );
    return $result;
}

function drukujTabele($tabela) {
    $lp = 0;
    if (empty($tabela)){
        print "ilość użytkowników: $lp";
        return;
    }
    ?>
    <table>
                    <tr>
                        <td>Lp</td>
                        <td>ksywa</td>
                        <td>Imie nazwisko</td>
                        <td>rok urodzenia</td>
                    </tr>
    <?php
    foreach($tabela as $uzytkownik) {
        $lp += 1;
        $kolor = '#AAAAAA';
        if ($lp%2==1) {
            $kolor = '#CCCCCC';
        }
        include 'szablonWiersza.php';

    }
    ?>
            </table>
    <?php        
    print "ilość użytkowników: $lp";
    
}

function wyszukajWTabeli($tekst, $tabela) {
    
//    $wynnik =
    
//    for($index=0;$index < count($tabela);$index++){
//        $uzytkownik = $tabela[$index];
//        $wynikWyszukiwania = stripos($uzytkownik[KOLUMNA_IMIE], $tekst);
//        if ($wynikWyszukiwania === false) {
//            unset($tabela[$index]);
//        }    
//    }
    
//    foreach($tabela as $indeks => $uzytkownik) {        
//        $wynikWyszukiwania = stripos($uzytkownik[KOLUMNA_IMIE], $tekst);
//        if ($wynikWyszukiwania === false) {
//            unset($tabela[$indeks]);
//        }
//    }
    
    $nowaTablica = array();
    if (empty($tekst)) $nowaTablica = $tabela;
    else {
            for($index=0;$index < count($tabela);$index++){
                $uzytkownik = $tabela[$index];
                $wynikWyszukiwania = mb_stripos($uzytkownik[KOLUMNA_IMIE], $tekst,0,'UTF-8');
                if ($wynikWyszukiwania !== false) {
                    $nowaTablica[]=$tabela[$index];
                }    
            }
    }
    return $nowaTablica;
    
}

function drukujFormularzWyszukiwania ($szukanyTekst){
    include 'formularzWyszukiwania.php'; //wymaga $szukanyTekst
}

function wylosujImieNazwisko(){
    $imiona = array("Agata","Zenon","Stefan","John","Ewa","Kazimierz","Ula","Lena","Bartosz","Eugeniusz");
    $nazwiska = array("Żuk" ,"Smith", "Skoczylas", "Nowak", "Kot", "Mielonka","Korwin","Mikke","Kokoszek","Laden","Golonka");
    
    $losoweNazwisko=array_rand($nazwiska,2);
    $result = $imiona[array_rand($imiona)]." ".$nazwiska[$losoweNazwisko[0]];
    if (rand(1,8)==8) $result .= "-".$nazwiska[$losoweNazwisko[1]];
    return $result;
}

function wylosujRokUrodzenia(){
    return rand(1950,2000);
}

function wygenerujKsywe(){
    //$znaki = array ("a","ą");
    //$znaki += array ("b","c","ć","d","e","ę","f","g","h","i","j","k","l","ł","m","n","ń","o","ó","p","q","r","s","ś","t","u","v","w","x","y","z","ź","ż","0","1","2","3","4","5","6","7","8","9");
    $sylaby = array ("bux","il","wan","Lin","zen","un","aru","ble","gis","das","sra","tor","QQ","co","ug","es","del","bar","si","al","ell","bit","kar","wus","vil","luk","ha","007","2012","xxx");
    $result = "";
    
    for ($iloscSylab=rand(2,5);$iloscSylab>0;$iloscSylab--) $result .= $sylaby[array_rand($sylaby)];
    return $result;
}

function wygenerujUzytkownika(){
        $result = array();
        $result[KOLUMNA_IMIE] = wylosujImieNazwisko();
        $result[KOLUMNA_ROK_URODZENIA] = wylosujRokUrodzenia();
        $result[KOLUMNA_KSYWA] = wygenerujKsywe();
        return $result;
}

function unikalnaKsywa($bazaDanych,$proponowanyNick){
    $result = true;
    
    if (count($bazaDanych)==1) return $result; //-------------------------->>>
    else {
        for ($indeks=count($bazaDanych)-2;($indeks>=0 && $result == true);$indeks--){
            if ($bazaDanych[$indeks][KOLUMNA_KSYWA] == $proponowanyNick) $result = false;
        }
    }
    return $result;
}

function wygenerujDane($iloscUzytkownikow){
    $result = array();
    
    for ($indeks=0;$indeks<$iloscUzytkownikow;$indeks++){
        $uzytkownik = wygenerujUzytkownika();
        while (!unikalnaKsywa($result, $uzytkownik[KOLUMNA_KSYWA])){
            $uzytkownik[KOLUMNA_KSYWA] = wygenerujKsywe();
        }
        $result[] = $uzytkownik;
    }       
    return $result;
}

function wydrukujWybranaZawartoscStrony($elementyMenu){

    $strona = empty($_GET['strona']) ? '' : $_GET['strona'];
    
    foreach ($elementyMenu as $nazwaStrony => $opisAkcji){
        if ($strona == $nazwaStrony) {
            include $nazwaStrony;
            return;
        }
    }
    include 'glowna.php';
}

function zapiszDane($bazaDanych,$plik = "test.txt"){
    $plik = fopen($plik,"wb"); // nie do końca $plik tylko pozycja w pliku
    if ($plik == FALSE) {
        print "Błąd zapisu!";
        exit;
    }
    
    if (empty($bazaDanych)) {
        fclose($plik);
        return;
    }

// metoda nr 1    
    foreach ($bazaDanych as $uzytkownik) {  
        fwrite($plik,implode("|",$uzytkownik));
        fwrite($plik,"\n");
    }

// metoda z array_chunk    
//    foreach ($bazaDanych as $indeks => $uzytkownik) { 
//        if ($indeks) fwrite($plik,"|"); 
//        fwrite($plik,implode("|",$uzytkownik));
//    }
       
    fclose($plik);
}

function wczytajDane($plik = "test.txt"){
    $result = array();
    $uzytkownik = array();

//metoda nr 1    
    if (file_exists($plik)){
        $daneZPliku = file($plik);
        foreach ($daneZPliku as $daneUzytkownika){
            $daneUzytkownika = explode('|',$daneUzytkownika);
            $uzytkownik[KOLUMNA_IMIE] = $daneUzytkownika[0];
            $uzytkownik[KOLUMNA_ROK_URODZENIA] = intval($daneUzytkownika[1]);
            $uzytkownik[KOLUMNA_KSYWA] = $daneUzytkownika[2];
            $result[] = $uzytkownik;
        }
    }
    
//metoda z array_chunk()    
//    if (file_exists($plik)){
//        $plik = fopen($plik, "r");
//        $daneZPliku = fread($plik, filesize("test.txt"));
//        $daneZPliku = explode ("|",$daneZPliku);
//        $daneZPliku = array_chunk($daneZPliku, 3);
//        foreach ($daneZPliku as $daneUzytkownika){
//            $uzytkownik[KOLUMNA_IMIE] = $daneUzytkownika[0];
//            $uzytkownik[KOLUMNA_ROK_URODZENIA] = intval($daneUzytkownika[1]);
//            $uzytkownik[KOLUMNA_KSYWA] = $daneUzytkownika[2];
//            $result[] = $uzytkownik;
//        }
//    }
//    fclose($plik);

    
    return $result;
}

function drukujMenu($elementyMenu){
    
    foreach ($elementyMenu as $adresStrony => $nazwaStrony){
        print "<a href=\"index.php?strona=$adresStrony\">$nazwaStrony</a> ";
    }
    print "<br /><br />";    
}

?>